package com.lefeng.cockpit.common.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.Map;
import java.util.stream.Collectors;

public class JsonUtils {
    /**
     * 将 JSON 数组转换为查询字符串格式。
     *
     * @param list JSON 数组，其中每个对象包含 "key" 和 "value" 字段
     * @return 转换后的查询字符串，例如 "23=34&12=45"
     */
    public static String convertJsonToQueryString(JSONArray list) {
        return list.stream()
                .map(obj -> (Map<String, Object>) obj) // 转换为 Map
                .map(map -> new JSONObject(map)) // 再转换为 JSONObject
                .map(jsonObject -> jsonObject.getString("key") + "=" + jsonObject.getString("value"))
                .collect(Collectors.joining("&"));
    }

    public static void main(String[] args) {
        String jsonString = "[{ \"key\": \"23\", \"value\": \"34\" }]";
        JSONArray jsonArray = JSON.parseArray(jsonString);

        String result = convertJsonToQueryString(jsonArray);
        System.out.println(result); // 输出: 23=34&12=45
    }
}
